//
//  ZKEryptionHandle.h
//  朱凯的工具箱
//
//  Created by apple on 15/12/3.
//  Copyright © 2015年 zhukai. All rights reserved.
//

#import <Foundation/Foundation.h>
#import <CommonCrypto/CommonDigest.h>
#import <CommonCrypto/CommonCryptor.h>
#import "GTMBase64.h"

@interface ZKCryptionHandle : NSObject

/**
 *  md5加密
 *
 *  @param text 传入明文
 *
 *  @return md5加密后的密文（小写）
 */
+ (NSString *)md5:(NSString *)text;

/**
 *  数据转换成json字符串
 *
 *  @param obj 数据（字典或者数组）
 *
 *  @return json字符串
 */
+ (NSString *)jsonEncode:(id)obj;

/**
 *  json字符串转换成数据转
 *
 *  @param jsonStr json字符串
 *
 *  @return 数据（字典或者数组）
 */
+ (id)jsonDecode:(NSString *)jsonStr;

/**
 *  base64 加密
 *
 *  @param jsonStr 明文（json字符串）
 *
 *  @return 密文
 */
+ (NSString *)base64Encode:(NSString *)jsonStr;

/**
 *  base64 解密
 *
 *  @param text 密文
 *
 *  @return 明文（json字符串）
 */
+ (NSString *)base64Decode:(NSString *)encodeStr;

/**
 *  获得最终加密字符串
 *
 *  @param obj 最原始的数据
 *
 *  @return 最终加密字符串
 */
+ (NSString *)encryptString:(id)obj;

/**
 *  获取最原始的数据
 *
 *  @param finalStr 最终加密的字符串
 *
 *  @return 最原始的数据
 */
+ (id)decryptString:(NSString *)finalStr;


/**
 *  对传输的POST数据签名
 *
 *  @param data data字典
 *
 *  @return 签名
 */
+ (NSString *)signData:(NSDictionary *)dicData;
@end
